package com.dc.designPattern._8_composite.impl;

/**
 * Description: 组合模式
 *
 * 要在一个页面中展示出学校的院系组成，一个学校有多个学院， 一个学院有多个系
 *
 * @author: gdc
 * @date: 2021/3/14
 * @version 1.0
 */
public class Client {

    public static void main(String[] args){
        // step 1 创建大学
        University university = new University("清华大学", "中国一流大学");

        // step 2 创建学院
        College computerCollege  = new College("计算机学院", "计算机学院");
        College infoEngineercollege = new College("信息工程学院", " 信息工程学院 ");
        //将学院加入到 学校
        university.add(computerCollege);
        university.add(infoEngineercollege);


        // step 3 创建各个学院下面的系(专业)
        computerCollege.add(new Department("软件工程", " 软件工程不错 "));
        computerCollege.add(new Department("网络工程", " 网络工程不错 "));
        computerCollege.add(new Department("计算机科学与技术", " 计算机科学与技术是老牌的专业 "));

        infoEngineercollege.add(new Department("通信工程", " 通信工程不好学 "));
        infoEngineercollege.add(new Department("信息工程", " 信息工程好学 "));

        university.print();
        System.out.println("-------------------------------------------------------------");

        infoEngineercollege.print();
    }
}
